package co.edu.eam.taller.mecanico.controladores;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.model.SelectItem;

import co.edu.eam.taller.mecanico.ejbs.TallerBean;
import co.edu.eam.taller.mecanico.entidades.Cliente;

@ViewScoped
@ManagedBean(name="ParametrosAuto")
public class Controlador_Parametros_Auto {
	/**
	 * EJB Taller
	 */
	@EJB
	private TallerBean tallerBean;
	/* variable en la que se almacenara el id del auto a crear */
	private long idAuto;
	/* Atributo el cual representa la placa de la entidad automovil */
	private String placa;
	/* Atributo el cual representa el modelo de la entidad automovil */
	private String modelo;
	/* Atributo el cual representa la marca de la entidad automovil */
	private String marca;
	/* variable en la que se almacenara el id del cliente buscado */
	private long idCliente;
	/* variable en la cual se almacenara la cedula del cliente a buscar*/
	private String cedulaCliente;
	/* variable en la cual se almacena el nombre del cliente buscado */
	private String nombreCliente;
	/* variable en la que se almacenara la lista de clientes actuales*/
	private List<Cliente>clientes;
	public Controlador_Parametros_Auto() {
		// TODO Auto-generated constructor stub
		clientes=new ArrayList<Cliente>();
	}
	/* Metodos para listar*/
	public void llenarClieintes(){
		clientes=tallerBean.listarClientes();
	}
	/**
	 * Este metodo retorna la lista de todos los repuestos disponibles.
	 * 
	 * @return List<SelectItem> Lista con todos los repuestos disponibles.
	 */
	public List<SelectItem> listarClientes() {
		llenarClieintes();
		List<SelectItem> items = new ArrayList<SelectItem>();
		
		items.add(new SelectItem(0, "Seleccionar cliente"));
		if(idCliente==0){
			return items;
		}else{
			
			
		for (Cliente cliente: clientes) {
			items.add(new SelectItem(cliente.getId(), cliente.getNombre()));
		}
		return items;
		}
	}
	/**
	 * metodo para buscar un cliente.
	 */
	public void BuscarCliente(){
		
		Cliente c;
		try {
			c = tallerBean.buscarClientePorCedula(cedulaCliente);	
			nombreCliente=c.getNombre();
			idCliente=c.getId();		
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.getMessage();
		}
	}
	/**
	 * Metodo para crear un automovil a un cliente.
	 */
	public void crearAuto(){
		tallerBean.registrarAutomovil(placa, modelo, marca, idCliente);
	}
	public long getIdAuto() {
		return idAuto;
	}
	public void setIdAuto(long idAuto) {
		this.idAuto = idAuto;
	}
	public String getPlaca() {
		return placa;
	}
	public void setPlaca(String placa) {
		this.placa = placa;
	}
	public String getModelo() {
		return modelo;
	}
	public void setModelo(String modelo) {
		this.modelo = modelo;
	}
	public String getMarca() {
		return marca;
	}
	public void setMarca(String marca) {
		this.marca = marca;
	}
	public long getIdCliente() {
		return idCliente;
	}
	public void setIdCliente(long idCliente) {
		this.idCliente = idCliente;
	}
	public List<Cliente> getClientes() {
		return clientes;
	}
	public void setClientes(List<Cliente> clientes) {
		this.clientes = clientes;
	}
	public String getCedulaCliente() {
		return cedulaCliente;
	}
	public void setCedulaCliente(String cedulaCliente) {
		this.cedulaCliente = cedulaCliente;
	}
	public String getNombreCliente() {
		return nombreCliente;
	}
	public void setNombreCliente(String nombreCliente) {
		this.nombreCliente = nombreCliente;
	}
	
	
}
